Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Karlsruhe Challenger BNP Paribas Nordic Open - Stockholm Troyes Challenger Salzburg Challenger Nordea Open - Bastad M25 Roehampton Mallorca Challenger M25 Porto M25 Astana Seville Challenger Davis Cup, Group I, 1R, PER-NOR 4-1 Mouilleron-Le-Captif Challenger Bergamo Challenger Ismaning Challenger M25 Benicarlo M15 Valencia Champaign Challenger Girona Challenger Manama Challenger M25 Esch/Alzette Oeiras 1 Challenger M25 Loughborough Hamburg Challenger M15 Azay-le-Rideau M15 Poitiers M15 Bressuire M25 Sunderland Pau Challenger M25 Quinta Do Lago M25 Vila Real de Santo Antonio Quimper Challenger M15+H Bagnoles de l'Orne M25 Toulouse-Balma Koblenz Challenger Cherbourg Challenger Lille Challenger M25 Faro M25 Badalona M25 Tarragona M25 Varnamo Savannah Challenger M25 Roehampton Sarasota Challenger Barcelona Challenger Grand Prix Hassan II - Marrakech M15 Gijon M25 Mataro M25 Vic M25 Villeneuve-Loubet M25 Roehampton M25 Aarhus M25+H Ajaccio M15 Ystad Porto Challenger Astana Challenger M25 Brussels M25+H Bagneres-de-Bigorre Pozoblanco Challenger M25 Porto Porto 2 Challenger Rennes Challenger M25 Oldenzaal Tulln Challenger M25 Falun M15 Monastir M25 Nevers Mouilleron-Le-Captif Challenger M25 Glasgow Roanne Challenger St. Brieuc Challenger M25 Monastir M25 Norwich Helsinki Challenger M25 Monastir M15 Monastir M15 Monastir Lille Challenger M15 Poitiers Lugano Challenger Grodzisk Mazowiecki Challenger M15 Monastir M25 Monastir M15 Monastir Glasgow Challenger Busan Challenger M25 Vale do Lobo Cherbourg Challenger M25 Vale do Lobo Manama Challenger San Marino Challenger M25 Hazebrouck Nottingham Challenger M15 Monastir Villena Challenger Gwangju Challenger M25 Toulouse-Balma Troyes Challenger Oeiras 5 Challenger Porto 2 Challenger Tampere Challenger Morelia Challenger Zagreb Challenger Cuernavaca Challenger Prague Challenger M15 Lons-le-Saunier Banja Luka Challenger Skopje Challenger Vicenza Challenger M25 Carnac Heilbronn Challenger Perugia Challenger M25 Villeneuve-Loubet M25 Mataro Royan Challenger Wimbledon - London Poznan Challenger Nottingham 3 Challenger Pozoblanco Challenger Nordea Open - Bastad U.S. Open - New York Segovia Challenger Grodzisk Mazowiecki Challenger Cassis Challenger Istanbul Challenger Rennes Challenger Roanne Challenger Orleans Challenger Mouilleron-Le-Captif Challenger France F12 France F15 France F17 France F20 France F1 France F8 France F9 France F10 France F12 Belgium F3 France F13 France F15 France F19 France F20 France F1 France F2 France F4 France F5 Spain F11 Spain F14 France F8 France F10 France F11 France F12 Spain F27 Spain F29 Belgium F2 France F13 France F14 France F15 France F17 France F18 France F19 France F20 Rodez Great Britain F1 Great Britain F2 France F1 France F2 France F4 France F5 France F6 France F10 France F4 France F5 Portugal F1 France F4 Spain F10 Spain F13 Portugal F10 Portugal F11 Turkey F44 Turkey F45 Spain F40 Spain F41 Spain F42 Spain F3 Spain F4 Spain F5 Italy F6 Bulgaria F3 Spain F21 Portugal F7 Portugal F8 Portugal F10 Portugal F11 Norway F1 Norway F2 Tunisia F5 Tunisia F6 Tunisia F7 Tunisia F8 Tunisia F11 Tunisia F12 Tunisia F13 Italy F6 Italy F7 Bosnia & Herzegovina F1 Italy F15 Italy F23 Spain F31 Spain F32 France F22 France F23 Norway F2 Great Britain F10 Great Britain F11 Turkey F2 Turkey F3 Turkey F4 Turkey F5 Great Britain F3 France F5 Italy F3 Spain F7 Spain F8 Italy F8 Italy F9 Spain F13 Spain F18 Spain F19 Spain F20 Spain F24 Spain F25 Italy F26 Belgium F12 Sweden F5 Norway F1 Norway F2 Norway F3 Estonia F4 Turkey F1 (Antalya) Turkey F2 (Antalya) Turkey F3 (Antalya) Great Britain F3 (Shrewsbury) Spain F6 (Cornella) Portugal F1 (Vale Do Lobo) France F5 (Toulouse) Bahrain F1 (Manama) Bahrain F2 (Manama) Nigeria F1 (Abuja) Nigeria F2 (Abuja) Nigeria F3 (Abuja) Spain F15 (Sta. Margarida Montbui) Tunisia F22 (Hammamet) Tunisia F23 (Hammamet) Germany F5 (Kamen) Poland F4 (Mragowo) Austria F2 (Kramsach) Austria F3 (Wels) Portugal F14 (Porto) Turkey F30 (Istanbul) Turkey F31 (Istanbul) France F19 Spain F28 (Oviedo) Spain F29 (Sevilla) Spain F30 (Madrid) France F12 Spain F31 (Sabadell) Egypt F28 (Sharm El Sheikh) Egypt F29 (Sharm El Sheikh) Egypt F31 (Sharm El Sheikh) France F13 Egypt F32 (Sharm El Sheikh) Egypt F33 (Sharm El Sheikh) France F2 Dominican Republic F1 (Santo Domingo Este) Dominican Republic F2 (Santo Domingo Este) France F2 France F3 Dominican Republic F3 (Santo Domingo Este) Belgium F2 France F7 France F4 France F18 Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) France F4 (Toulouse) France F5 (Poitiers) Spain F16 (Palma del Rio) Spain F17 (Bakio) Germany F8 (Kassel) Spain F23 (Vigo) Spain F29 (Sabadell) M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Bolton M25 Donostia-San-Sebastian Cordenons Challenger Bogota Challenger Orleans Challenger M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25 Pardubice M25+H Rodez M25 Hamburg M25 Vale Do Lobo M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M25 La Nucia M25 Reus M25 Meerbusch M25 Angers M15 Las Palmas de Gran Canaria M25 Prague M25 Jablonec nad Nisou M25 Most M25 Grasse M25 Montauban M25 Bourg-en-Bresse M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25 Jonkoping M25 Nevers M25+H Rodez M25 Hamburg M25 Toulouse M25 Portimao M15 Manacor M25 Vale do Lobo M15 Creteil M25 Loule M15 Poitiers M25 Toulouse-Balma M25 Reus M25 Angers M25 Vic M25 Montauban M15 Madrid M15 Kalmar M15 Bressuire M25 Esch/Alzette M25 Grasse SkiStar Swedish Open - Bastad Challenger DCNS de Cherbourg - Cherbourg Open D'Orleans - Orleans Cherbourg Challenger Cherbourg Challeger St. Brieuc Challenger Bordeaux Challenger Quimper Challenger Cherbourg Challenger St. Brieuc Challenger Monza Challenger Bordeaux Challenger Pozoblanco Challenger Recanati Challenger Segovia Challenger St. Remy Challenger Istanbul Challenger Mons Challenger Rennes Challenger Orleans Challenger Bratislava Challenger Helsinki Challenger Noumea Challenger Quimper Challenger Cherbourg Challenger Bath Challenger St. Brieuc Challenger Tunis Challenger Bordeaux Challenger Nottingham Challenger Scheveningen Challenger Recanati Challenger Pozoblanco Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Petange Challenger Orleans Challenger Mons Challenger Rennes Challenger Seoul Challenger Geneva Challenger Bratislava Challenger Heilbronn Challenger Quimper Challenger Cherbourg Challenger St. Brieuc Challenger Tunis Challenger Bordeaux Challenger Nottingham Challenger St. Remy Challenger Petange Challenger Orleans Challenger Mons Challenger Rennes Challenger Bratislava Challenger Heilbronn Challenger Cherbourg Challenger Guadalajara Challenger Le Gosier Challenger Tunis Challenger Bordeaux Challenger Nottingham Challenger St. Remy Challenger Orleans Challenger Mons Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Cherbourg Challenger Quimper Challenger Le Gosier Challenger Bordeaux Challenger Biella Challenger Cortina Challenger Portoroz Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Meknes Challenger Orleans Challenger Mons Challenger Cherbourg Challenger Quimper Challenger Rome Challenger Braunschweig Challenger Segovia Challenger Manerbio Challenger Como Challenger Genova Challenger Alphen Challenger Banja Luka Challenger Orleans Challenger Mons Challenger Budapest Challenger Eckental Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Wroclaw Challenger St. Brieuc Challenger Sophia Antipolis Challenger Aix En Provence Challenger Bordeaux Challenger Surbiton Challenger Nottingham Challenger Recanati Challenger Perugia Challenger Como Challenger Genova Challenger Szczecin Challenger Orleans Challenger Ortisei Challenger Eckental Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Lille Challenger St. Brieuc Challenger Alicante Challenger Guadalajara Challenger Leon Challenger Puerto Vallarta Challenger Aix En Provence Challenger Bordeaux Challenger Loughborough Challenger Poznan Challenger Shymkent Challenger Lyon Challenger Blois Challenger Perugia Challenger Tampere Challenger Segovia Challenger Mallorca Challenger Seville Challenger Zhangjiagang Challenger Szczecin Challenger Shanghai Challenger Kaohsiung Challenger Orleans Challenger Florence Challenger Barcelona Challenger Ningboo Challenger Eckental Challenger Bratislava Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Noumea Challenger Da Nang Challenger Koblenz Challenger Punta Del Este Challenger Budapest Challenger Lille Challenger St. Brieuc Challenger Sophia Antipolis Challenger San Luis Potosi Challenger Leon Challenger Bordeaux Challenger Aix En Provence Challenger Shymkent Challenger Lisbon Challenger Samarkand Challenger Jerusalem Challenger Vicenza Challenger Prostejov Challenger Poznan Challenger Blois Challenger Recanati Challenger Perugia Challenger San Benedetto Challenger Amersfoort Challenger Prague Challenger Tampere Challenger Sopot Challenger Segovia Challenger Manerbio Challenger Portoroz Challenger Cassis Challenger Glasgow Challenger Orleans Challenger Nur-Sultan Challenger Brest Challenger Eckental Challenger Helsinki Challenger Maia Challenger Bangkok Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Bergamo Challenger Nur-Sultan Challenger Sibiu Challenger Cherbourg Challenger Potchefstroom 1 Challenger Potchefstroom 2 Challenger St. Petersburg 1 Challenger St. Petersburg 2 Challenger Lille Challenger Trieste Challenger Meerbusch Challenger Warsaw Challenger Mallorca Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Brest Challenger Roanne Challenger Pau Challenger Helsinki Challenger Bari Challenger Cherbourg Challenger Pau Challenger Monterrey Challenger Lille Challenger Turin Challenger Mexico City Challenger Aguascalientes Challenger Rome 1 Challenger Morelos Challenger Prague 2 Challenger Bordeaux Challenger Shymkent 1 Challenger Shymkent 2 Challenger Vicenza Challenger Forli 6 Challenger Poznan Challenger Lyon Challenger Blois Challenger Milan Challenger Cali Challenger Troyes Challenger Porto Challenger Bogota Challenger Pozoblanco Challenger Zug Challenger Segovia Challenger Cordenons Challenger San Marino Challenger Banja Luka Challenger Prague 3 Challenger Como Challenger Seville Challenger Cassis Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Vilnus Challenger Brest Challenger Bergamo Challenger Roanne Challenger Bratislava Challenger Helsinki Challenger Valencia Challenger Maia Challenger Maspalomas Challenger Oeiras 1 Challenger Oeiras 2 Challenger Tenerife 1 Challenger Ottignies-Louvain-la-Neuve Challenger Koblenz Challenger Manama Challenger Cherbourg Challenger Pau Challenger Lugano Challenger Szekesfehervar Challenger Biel Challenger Sanremo Challenger Lille Challenger Murcia Challenger Madrid Challenger Oeiras 3 Challenger Rome Challenger Aix En Provence Challenger Tunis Challenger Little Rock Challenger Troisdorf Challenger Tyler Challenger Perugia Challenger Blois Challenger Porto Challenger Antofagasta Challenger Calgary Challenger Palmas del Mar Challenger San Luis Potosi Challenger St. Tropez Challenger Bratislava 2 Challenger Maia Challenger Tallahassee Challenger BMW Open - Munich AEGON Championships - London Open de Moselle - Metz Open Sud de France - Montpellier Open 13 - Marseille Open de Nice Cote d'Azur - Nice AEGON Championships - London Moselle Open - Metz Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona AEGON Championships - London AEGON International - Eastbourne Hall of Fame Tennis Championships - Newport Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Apia International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice AEGON Championships - London Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Swiss Indoors Basel - Basel Heineken Open - Auckland Open Sud de France - Montpellier Open 13 - Marseille Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel Moselle Open - Metz Erste Bank Open - Vienna Valencia Open - Valencia Millennium Estoril Open - Estoril Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Topshelf Open - 's-Hertogenbosch AEGON Championships - London Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Moselle Open - Metz European Open - Antwerp Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Moselle Open - Metz European Open - Antwerp Swiss Indoors Basel - Basel Open Sud de France - Montpellier Open 13 Provence - Marseille Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Moselle Open - Metz European Open - Antwerp Open Sud de France - Montpellier Open Parc - Lyon Nature Valley International - Eastbourne Nordea Open - Bastad Stockholm Open - Stockholm Sydney Tennis Classic - Sydney Nordea Open - Bastad United Cup - Australia Gonet Geneva Open - Geneva Rothesay International - Eastbourne BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne BMW Open - Munich French Open - Paris Davis Cup, Group II, 1R, NOR-LTU 0-5 Davis Cup, Group II, PO, NOR-MON 0-5 Davis Cup, Group II, 1R, LTU-NOR 3-2 Davis Cup, Group II, PO, LUX-NOR 2-3 Davis Cup, Group II, 1R, LAT-NOR 0-4 Davis Cup, Group II, 2R, NOR-DEN 1-4 Davis Cup, Group II, 1R, EGY-NOR 4-0 Davis Cup, Group II, PO, NOR-IRL 3-1 Davis Cup, Group II, 1R, NOR-GEO 3-1 ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group I, PO, NOR-BAR 4-0 Davis Cup, Group I, 1R, NOR-UZB 3-1 ATP Cup - Sydney Davis Cup, Group I, SF, NOR-UKR 3-1 Davis Cup, Qualifiers, 1R, NOR-KAZ 1-3 Davis Cup, Group I, 1R, NOR-IND 3-1 Hopman Cup - Perth U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Davis Cup, World Group, PO, NOR-SRB 0-4 Davis Cup, Group I, PO, NOR-LAT 4-0 Davis Cup, Group I, 1R, TPE-NOR 2-3